﻿using System;
using System.Web.UI.WebControls;
using vudu.EnlaceDatos.SqlServer;
using vudu.Logica.Clases;

namespace vudu.PaginasWeb.G1EsquemaEvaluacion
{
    public partial class ConsultarEsquemaEvaluacionProfesor1 : System.Web.UI.Page
    {
        #region atributos de la clase
        private int _idSeccion;
        private Evaluacion evaluacion = new Evaluacion();
        private Profesor profesor = new Profesor();
        #endregion

        protected void Page_Load(object sender, EventArgs e)
        {
            _idSeccion = Convert.ToInt32(Request.QueryString["cod"]);

            MigaActual.Text = "Esquema de evaluacion - Seccion " + _idSeccion;
            //Cuando hagan la integracion quitar la asignacion de a cedula ya que este se pasa pr la variable session
            //luego descomentar la variable session
            profesor = (Profesor) Session["usuario"];
            //profesor.Nombre = "Carlo";
            //profesor.Apellido = "Magurno";

            //esto no se quita en la integracion
            InFormacionProfesor.Text = "Profesor(a) : " + profesor.Nombre + " " + profesor.Apellido;
            LlenarCabecerasTablaInformacionSecciones();
            CargarInformacionTablaEsquemaEvaluacion();
        }

        /// <summary>
        /// Funcion que sirve para insertar las cabeceras a la table de informacion de esquema de evaluacion.
        /// </summary>
        public void LlenarCabecerasTablaInformacionSecciones()
        {
            // Creamos un nuevo registro para la tabla
            TableRow registroTabla = new TableRow();
            InformacionEsquemaEvaluacion.Rows.Add(registroTabla);
            // Creamos una celda para esta tabla.
            TableCell celdaTabla = new TableCell();
            celdaTabla.Width = 200;
            celdaTabla.HorizontalAlign = HorizontalAlign.Center;
            registroTabla.Cells.Add(celdaTabla);
            // Creamos un WebControl de tipo "LABEL" y se lo aderimos a la celda.
            System.Web.UI.WebControls.Label labelCabecera = new Label();
            labelCabecera.Text = "Nombre Evaluacion";
            celdaTabla.Controls.Add(labelCabecera);

            //Repetimos el procedimiento hasta llenar nuestra tabla.
            celdaTabla = new TableCell();
            celdaTabla.Width = 200;
            celdaTabla.HorizontalAlign = HorizontalAlign.Center;
            registroTabla.Cells.Add(celdaTabla);
            labelCabecera = new Label();
            labelCabecera.Text = "Porcentaje";
            celdaTabla.Controls.Add(labelCabecera);

            celdaTabla = new TableCell();
            celdaTabla.Width = 200;
            celdaTabla.HorizontalAlign = HorizontalAlign.Center;
            registroTabla.Cells.Add(celdaTabla);
            labelCabecera = new Label();
            labelCabecera.Text = "Fecha Tentativa";
            celdaTabla.Controls.Add(labelCabecera);
        }

        /// <summary>
        /// Funcion para cargar la informacion de esquemas de evaluacion en profesores.
        /// </summary>
        public void CargarInformacionTablaEsquemaEvaluacion()
        {
            try
            {
                SqlServerEvaluacion sqlServerEvaluacion = new SqlServerEvaluacion();
                //Recorremos la lista de todas las secciones de un profesor.
                SeccionMateria seccionMateria = new SeccionMateria();
                seccionMateria.IdSeccionMateria = _idSeccion;
                foreach (Evaluacion miEvaluacion in evaluacion.ConsultarEsquemaEvaluacionSeccion(seccionMateria))
                {
                    // Creamos un nuevo registro para la tabla
                    TableRow registroTabla = new TableRow();
                    InformacionEsquemaEvaluacion.Rows.Add(registroTabla);

                    // Creamos una celda para esta tabla.
                    TableCell celdaTabla = new TableCell();
                    registroTabla.Cells.Add(celdaTabla);
                    // Creamos un WebControl de tipo "LABEL" y se lo aderimos a la celda.
                    System.Web.UI.WebControls.Label labelRegistro = new Label();
                    labelRegistro.Text = miEvaluacion.Nombre;
                    celdaTabla.Controls.Add(labelRegistro);

                    celdaTabla = new TableCell();
                    celdaTabla.HorizontalAlign = HorizontalAlign.Center;
                    registroTabla.Cells.Add(celdaTabla);
                    // Creamos un WebControl de tipo "LABEL" y se lo aderimos a la celda.
                    labelRegistro = new Label();
                    labelRegistro.Text = miEvaluacion.Porcentaje + "%";
                    celdaTabla.Controls.Add(labelRegistro);

                    celdaTabla = new TableCell();
                    celdaTabla.HorizontalAlign = HorizontalAlign.Center;
                    registroTabla.Cells.Add(celdaTabla);
                    // Creamos un WebControl de tipo "LABEL" y se lo aderimos a la celda.
                    labelRegistro = new Label();
                    labelRegistro.Text = miEvaluacion.FechaEvaluacion.ToString().Split(' ')[0];
                    celdaTabla.Controls.Add(labelRegistro);
                }
            }
            catch (Exception)
            {
                MensajeDeTransaccion.Text = "Operacion Fallida : No se pudo establecer conexion con la Base de Datos";
                MensajeDeTransaccion.CssClass = "transaccionFallida";
                MensajeDeTransaccion.Visible = true;
            }
        }
    }
}